import 'package:dio/dio.dart';

/// 请求头拦截器，这里主要是对请求头里面的内容进行处理
///
/// 1. 请求头中包含'baseUrl'字段需要做处理
///
class HeadInterceptor extends Interceptor {
  @override
  void onRequest(RequestOptions options, RequestInterceptorHandler handler) {
    //处理请求头
    options.headers.forEach((key, value) {
      //请求头中包含baseUrl且值不为空，则将当前的baseUrl替换掉
      if ('baseUrl' == key && value is String && value.isNotEmpty) {
        //重置baseUrl
        options.baseUrl = value;
      }
    });
    ////移除key = baseUrl
    options.headers.remove('baseUrl');

    super.onRequest(options, handler);
  }

  @override
  void onResponse(Response response, ResponseInterceptorHandler handler) {
    super.onResponse(response, handler);
  }

  @override
  void onError(DioError err, ErrorInterceptorHandler handler) {
    super.onError(err, handler);
  }
}
